package thread;

public class Demo13 {
    public static void main(String[] args) {
        Thread t = new Thread() {
            @Override
            public void run() {
                // 可以使用 this 获取当前线程的引用
                // 此处是继承 Thread 的方式来创建线程的
                // this 指向的就是 Thread 对象
                System.out.println(this.getName());
                System.out.println(Thread.currentThread().getName());
            }
        };

        Thread t2 = new Thread(new Runnable() {
            @Override
            public void run() {
                // 此处 this 指向的是 Runnable 的实例.
                // System.out.println(this.getName());
                // 只能使用 currentThread()
                System.out.println(Thread.currentThread().getName());
            }
        });

        Thread t3 = new Thread(() -> {
            // lambda 中根本没有 this
            // System.out.println(this.getName());
            System.out.println(Thread.currentThread().getName());
        });

        t2.start();
    }
}

